package com.galaxy.device.domain.convert;

import com.galaxy.device.domain.DeviceStatus;
import com.galaxy.device.domain.bo.DeviceStatusBo;
import com.galaxy.device.domain.vo.DeviceStatusVo;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 设备状态对象转换器
 */
@Mapper
public interface DeviceStatusConvert {

    DeviceStatusConvert INSTANCE = Mappers.getMapper(DeviceStatusConvert.class);

    /**
     * 实体转BO
     */
    DeviceStatusBo convert(DeviceStatus bean);

    /**
     * 实体列表转BO列表
     */
    List<DeviceStatusBo> convertList(List<DeviceStatus> list);

    /**
     * 实体转VO
     */
    DeviceStatusVo convertVo(DeviceStatus bean);

    /**
     * 实体列表转VO列表
     */
    List<DeviceStatusVo> convertVoList(List<DeviceStatus> list);

    /**
     * BO转实体
     */
    DeviceStatus convert(DeviceStatusBo bo);

    /**
     * BO列表转实体列表
     */
    List<DeviceStatus> convertListBo(List<DeviceStatusBo> list);

    DeviceStatusVo convert(DeviceStatusVo vo);
} 